#!/usr/bin/env python3
"""
检查MySQL数据库连接和现有数据库
"""

import pymysql

def check_mysql_connection():
    print("🔍 检查MySQL数据库连接")
    print("=" * 50)
    
    try:
        # 连接到MySQL服务器（不指定数据库）
        print("📡 正在连接MySQL服务器...")
        connection = pymysql.connect(
            host='47.115.144.218',
            user='root',
            password='clannad123',
            port=3306
        )
        
        print("✅ MySQL连接成功！")
        
        cursor = connection.cursor()
        
        # 查看所有数据库
        print("\n📋 现有数据库列表:")
        cursor.execute("SHOW DATABASES")
        databases = cursor.fetchall()
        
        for i, db in enumerate(databases, 1):
            print(f"  {i}. {db[0]}")
        
        # 检查是否有houseDB数据库
        houseDB_exists = any(db[0] == 'houseDB' for db in databases)
        if houseDB_exists:
            print("\n✅ 数据库 'houseDB' 已存在")
            
            # 查看houseDB数据库中的表
            cursor.execute("USE houseDB")
            cursor.execute("SHOW TABLES")
            tables = cursor.fetchall()
            
            if tables:
                print("📋 数据库中的表:")
                for table in tables:
                    print(f"  - {table[0]}")
            else:
                print("📋 数据库中没有表")
        else:
            print("\n❌ 数据库 'houseDB' 不存在")
        
        # 查看MySQL版本
        cursor.execute("SELECT VERSION()")
        version = cursor.fetchone()
        print(f"\n🐬 MySQL版本: {version[0]}")
        
        # 查看用户权限
        cursor.execute("SHOW GRANTS FOR CURRENT_USER")
        grants = cursor.fetchall()
        print(f"\n🔐 当前用户权限:")
        for grant in grants:
            print(f"  - {grant[0]}")
        
        cursor.close()
        connection.close()
        
    except Exception as e:
        print(f"❌ 连接失败: {e}")
        print(f"错误类型: {type(e).__name__}")

if __name__ == "__main__":
    check_mysql_connection()
